/**
 * Fichier AproposDialog.java : Définition de classe
 * fr.unice.gnpt.gui.AproposDialog : Boîte de dialogue A propos
 * 
 * Auteurs : Groupe GNPT : Gastinel, Nicolas, Pellegrino, Trovato
 */
package fr.unice.gnpt.gui;

import java.awt.Panel;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JLabel;

import net.miginfocom.swing.MigLayout;

/**
 * Boîte de dialogue affichant des informations à propos de la version et des
 * auteurs du programme.
 * 
 * @author gnpt
 * @version 0.0.1
 */
public class AproposDialog extends JDialog {
	private static final long serialVersionUID = 1L;

	/**
	 * Panel principal de la fenêtre de dialogue.
	 */
	private Panel panel;

	/**
	 * Crée une nouvelle boîte de dialogue et l'affiche
	 */
	public AproposDialog() {
		this.panel = new Panel();
		this.panel.setLayout(new MigLayout("insets 20, fillx", "[]", "[]10[]"));

		final JButton boutonFermer = new JButton("Fermer");
		boutonFermer.addActionListener(new ActionListener() {
			@SuppressWarnings("synthetic-access")
			public void actionPerformed(ActionEvent e) {
				fermer();
			}
		});

		StringBuffer auteursTexte = new StringBuffer();
		auteursTexte.append("<html>");
		auteursTexte
				.append("<p style=\"padding-bottom: 10px\"><strong>Auteurs</strong> :</p>");
		auteursTexte
				.append("<ul style=\"list-style-type: none; padding: 0; margin: 0;\">");
		auteursTexte.append("<li>- GASTINEL Arnaud</li>");
		auteursTexte.append("<li>- NICOLAS Cyprien</li>");
		auteursTexte.append("<li>- PELLEGRINO Laurent</li>");
		auteursTexte.append("<li>- TROVATO Alexandre</li>");
		auteursTexte.append("</ul>");
		auteursTexte
				.append("<p style=\"padding-top: 10px\"><strong>Version</strong> : 1.0</p>");
		auteursTexte.append("</html>");

		JLabel icone = new JLabel();
		icone.setIcon(new ImageIcon(this.getClass().getResource(
				"images/logo.png"), "EducationManager"));

		this.panel.add(icone, "align center, gapY 5! 10!, wrap");
		this.panel.add(new JLabel(auteursTexte.toString()),
				"gapX 30! 40!, wrap");
		this.panel.add(boutonFermer, "gapY 10!, align center, wrap");

		this.add(this.panel);
		this.setTitle("A propos");
		this.pack();
		this.setResizable(false);
		this.setLocationRelativeTo(null);
		this.setVisible(true);
	}

	private void fermer() {
		this.dispose();
	}
}
